什么是cookie

HTTP协议默认是无状态的,每一次的请求都是独立事件,cookie是从网站发送并存储在客户端浏览器中的一小段数据,支持网站记住有状态信息(如购物车中添加的商品)和/或记录客户端浏览活动(如登录)的机制。

Set-Cookie是http协议中报头字段的一段分,用于Web服务器和客户端之间传输HTTP cookie信息。其中可以设置一些属性值,Set-Cookie头的语法如下:
Set-Cookie: name=value; expires=date; path=path; domian-domain; secure

参数 说明
name 必需。规定cookie的名称。
value 必需。规定cookie的值。
expire 可选。规定cookie的有效期。
path 可选。规定cookie的服务器路径。
domain 可选。规定cookie的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

了解原理

运用到CDN的缓存Set-Cookie功能的开启和关闭时,我们首先需要了解Set-Cookie的运用原型。我们以登录一个站点的过程为例子。
当我们登录网站时
●输入账号密码等,这些数据会跟随请求一同发过去。
服务器接搜请求
●提取用户信息。
●完成用户认证,将重定向跳转到登录状态下的页面。
●此时,也会将输入的数据填充到 Set-Cookie字段中,发回客户端。
当浏览器收到服务器发回的响应
●浏览器会在内部的cookie文件中保存字段里的数据,Set-Cookie的作用相当于是命令客户端将携带的字段写入cookie中。
当再次访问网站时
●自动将cookie文件中的数据填充到请求中,无需再次手动输入。

如上所述,在某些情况下,在提供HTML文件时,将Set-Cookie标头添加到某些响应中是有意义的。通常,在提供图像、CSS和JavaScript等静态资源时,将Set-Cookie标头添加到响应中没有多大意义。因此,如果你想将它们用作CDN服务的来源,那么你需要指示CDN缓存包含Set-Cookie标头的响应。
跳过Set-Cookie功能通常是默认开启,即Set-Cookie不缓存;若关闭跳过Set-Cookie,则意味着来自CDN服务的响应将包含Set-Cookie标头,这将会重复使用相同的响应,以登录站点为例,这可能将导致不同的客户将访问你同一账号。

LightCDN all right reserved,powered by GitbookUpdated Time: 2025-02-10 14:04:19

results matching ""

    No results matching ""